Today, there is a growing interest in small or "form factor" smart electronic devices. As a result, software applications which were typically the domain of desktop computers are now expected by users to be available on these small devices--devices which can easily fit in one's pocket or wallet. Although advances have occurred in software design which provide hand-held devices with substantial processing power, memory capacity, and display power, a number of "form factor" related problems nevertheless remain to be solved.
No matter how high the resolution is of a device's display, for instance, there still remains a finite amount of physical screen "real estate" which can be provided by the device. In the case of small hand-held devices, the amount of this screen real estate or physical screen area is obviously much less than that provided by desktop computers. If this problem is addressed by displaying items on screen at a smaller size, users have difficulty reading the information. Although virtual screen technology is available for users to "pan" across a larger virtual screen, the additional user input required to manage the process makes the approach undesirable. Information which cannot be seen is of no value to users.
Another problem facing small electronic devices is the difficulty of inputting information. With a small form factor or pocket-size device, it is simply not feasible to include a substantial keyboard for inputting information. Again, the size of the devices reduces the physical surface area available for accommodating input keys or the like. A conventional approach to the problem is to simply build a smaller keyboard, one using miniature input keys. The approach is problematic. In particular, most users find that their fingers are simply too big to use small keys with any degree of efficiency. Further, any efforts to increase the size of a keyboard or keypad in such a device reduces the amount of surface area available for the display screen.
An approach to this problem is to simply let the display screen double as an input device. The basic problem remains unsolved, however. Any display surface area allotted to display screen buttons decreases the amount available for displaying program information, such as output screens. Further, displaying different sets of keys during the operation of a program increases the complexity and, therefore, the learning curve for that program.
A similar approach to the above is handwriting recognition, such as available with Apple's Newton device. With the current state of handwriting technology, however, the process is both processor intensive (and therefore slow) and error prone. These two disadvantages have combined to make present-day handwriting recognition unattractive to all but the most patient of users. Even with shorthand or gesture-based handwriting recognition, success of those devices remains limited, as most users are unwilling to spend the time mastering gesture strokes.
Again, the physical limitations imposed by these devices remains a problem. For handwriting recognition, for instance, the screen devices must be coated with a special material for receiving stroke input. That material adds yet another layer on top of the display screen thus making the screen more difficult to read (since screen contrast of an already small screen is decreased even further). All told, present-day handwriting recognition is far from an ideal solution.
The problem faced by designers of small "form factor" devices is certainly not limited to input and display of information. For instance, a whole set of design problems exist concerning power management--that is, optimizing a device's use of a limited power source, such as batteries. All told, the small size of pocket-size devices imposes a physical limitation impacting all the subsystems of such a device.
What is needed is improved user input and usability methodology for small form factor devices. Such a methodology should not require sophisticated hardware support, such as handwriting recognition. Further, such methodology should accommodate a limited or terse set of input keys or buttons (e.g., five keys) as well as limited display surface area typically provided by small form factor devices. Such methodology should nevertheless accommodate large character sets, such as ones including a full range of alphabetic and numeric characters. The present invention fulfills this and other needs.